// manage功能
class ManagePlugin {
  constructor() {
    console.log('managePlugin constructor')
  }

  async getAppVersionRender() {
    return await window.manageApi.getAppVersionPreload()
  }

  async getProjectDirsRender(para): Promise<any> {
    return await window.manageApi.getProjectDirsPreload(para)
  }

  async loadProjectDirsRender(para): Promise<any> {
    console.log('loadProjectDirsRender', JSON.stringify(para))
    return await window.manageApi.loadProjectDirsPreload(JSON.stringify(para))
  }

  async selectDirPathRender(para): Promise<any> {
    return await window.manageApi.selectDirPathPreload(para)
  }

  //保存项目路径配置
  async saveProjectPathRender(para): Promise<any> {
    return await window.manageApi.saveProjectPathPreload(para)
  }

  //保存项目标签配置
  async saveProjectFlagRender(para): Promise<any> {
    return await window.manageApi.saveProjectFlagPreload(para)
  }

  //保存项目标签配置
  async saveDevToolsRender(para): Promise<any> {
    return await window.manageApi.saveDevToolsPreload(para)
  }

  //获取项目路径配置
  async getProjectPathRender(para): Promise<any> {
    return await window.manageApi.getProjectPathPreload(para)
  }

  //获取项目标签配置
  async getProjectFlagRender(para): Promise<any> {
    return await window.manageApi.getProjectFlagPreload(para)
  }

  //获取项目标签配置
  async getDevToolsRender(para): Promise<any> {
    return await window.manageApi.getDevToolsPreload(para)
  }

  //获取项目标签配置
  async getPlatformRender(para): Promise<any> {
    return await window.manageApi.getPlatformPreload(para)
  }

  //导入项目配置
  async importManageDataRender(para): Promise<any> {
    return await window.manageApi.importManageDataPreload(para)
  }

  //导出项目配置
  async exportManageDataRender(para): Promise<any> {
    return await window.manageApi.exportManageDataPreload(para)
  }

  //标题栏事件
  titleActionRender(para) {
    window.manageApi.titleActionPreload(para)
  }

  //执行cmd命令
  runCmdRender(para) {
    window.manageApi.runCmdPreload(para)
  }

  //关闭窗口
  async closeAppRender(para) {
    await window.manageApi.closeAppPreload(para)
  }

  //监听消息返回
  handleReceiveMessageRender(cb) {
    window.manageApi.handleReceiveMessagePreload(cb)
  }
}

export const managePlugin = new ManagePlugin()
